using System;
using Admin.NET.Core;

namespace Admin.NET.Application.Service.Payment.Dto;

public class PaymentInput : BasePageInput
{
	/// <summary>
	/// 商家订单号
	/// </summary>
	public virtual string OutTradeNo { get; set; }

	/// <summary>
	/// 支付名称
	/// </summary>
	public virtual string PaymentName { get; set; }

	/// <summary>
	/// 房间id
	/// </summary>
	public virtual long? RoomId { get; set; }

	/// <summary>
	/// 备注
	/// </summary>
	public virtual string? Remark { get; set; }

	/// <summary>
	/// 金额
	/// </summary>
	public virtual decimal Amount { get; set; }

	/// <summary>
	/// 充值方式，0线下充值，1微信充值
	/// </summary>
	public virtual PayTypeEnum? PayType { get; set; }

	/// <summary>
	/// 是否支付（0：否，1：已支付，且已同步到房间余额，2：订单已关闭,3：支付成功，但未同步到房间,房间被删除）,4：退款（线下退款）
	/// </summary>
	public virtual int? IsPay { get; set; }

	/// <summary>
	/// 是否扣除余额，当退款时，需要选择是否扣款余额
	/// </summary>
	public virtual bool? IsDeductBalance { get; set; }

	/// <summary>
	/// 是否赠送
	/// </summary>
	public virtual bool? IsGiveAsAPresent { get; set; }

	/// <summary>
	/// 开始时间
	/// </summary>
	public virtual DateTime? StartTime { get; set; }

	/// <summary>
	/// 结束时间
	/// </summary>
	public virtual DateTime? EndTime { get; set; }
}
